#ifndef COMBATHANDLER_H_
#define COMBATHANDLER_H_

#include "../Scene.h"
#include "ActionData.h"
#include <vector>

class ATBTimer;

/**
 * Summary: This is a test I threw together real quick, it doesn't do much.
 */
class CombatHandler : public Scene {
	public:
		/**
		 * Summary: Constructs a combat handler
		 */
		CombatHandler();

		/**
		 * Summary: Destroys a combat handler
		 */
		virtual ~CombatHandler();

		/**
		 * Summary: Draws the combat handler
		 */
		virtual void draw();

		/**
		 * Summary: Updates the combat handler
		 */
		virtual void update();

		/**
		 * Summary: Handles events passed to the combat handler
		 *
		 * Arguments:
		 * 	event: The event to handle
		 */
		virtual void handleEvent(SDL_Event* event);
	private:
		vector<ActionData*> activeActions;
		/**
		 * Summary: Callback function for selecting a combat action
		 *
		 * Arguments:
		 * 	actionId: The id of the selected action
		 */
		void selectMainAction(int actionId);

		void executeAction(ActionData* actionData);
};

#endif
